package br.com.sisgerenciamento.recebimento;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;

import br.com.sisgerenciamento.dto.recebimento.RecebimentoDTO;
import br.com.sisgerenciamento.model.recebimento.FormaPagamentoEnum;
import br.com.sisgerenciamento.util.UtilActionForm;

public class RecebimentoForm extends UtilActionForm{

	private static final long serialVersionUID = 5047321061596976772L;
	
	private RecebimentoDTO recebimento = new RecebimentoDTO();
	private ArrayList<RecebimentoDTO>  recebimentoDTOs = new ArrayList<RecebimentoDTO>();
	private ArrayList<FormaPagamentoEnum> listaTipoFormaPagamento = FormaPagamentoEnum.listar();
	private String nomeCliente;
	private Long codigoRecebimento;
	private Long codigoPedido;
	private Integer formaPagamentoSelecionado;
	
	public void limparForm(){
		this.recebimento = new RecebimentoDTO();
		recebimentoDTOs =  new ArrayList<RecebimentoDTO>();
		formaPagamentoSelecionado = null;
	}
	
	public RecebimentoDTO getRecebimento() {
		return recebimento;
	}
	public void setRecebimento(RecebimentoDTO recebimento) {
		this.recebimento = recebimento;
	}
	public ArrayList<RecebimentoDTO> getRecebimentoDTOs() {
		return recebimentoDTOs;
	}
	public void setRecebimentoDTOs(ArrayList<RecebimentoDTO> recebimentoDTOs) {
		this.recebimentoDTOs = recebimentoDTOs;
	}
	public String getNomeCliente() {
		return nomeCliente;
	}
	public void setNomeCliente(String nomeCliente) {
		this.nomeCliente = nomeCliente;
	}
	public Long getCodigoRecebimento() {
		return codigoRecebimento;
	}
	public void setCodigoRecebimento(Long codigoRecebimento) {
		this.codigoRecebimento = codigoRecebimento;
	}
	public ArrayList<FormaPagamentoEnum> getListaTipoFormaPagamento() {
		return listaTipoFormaPagamento;
	}
	public void setListaTipoFormaPagamento(
			ArrayList<FormaPagamentoEnum> listaTipoFormaPagamento) {
		this.listaTipoFormaPagamento = listaTipoFormaPagamento;
	}

	public Integer getFormaPagamentoSelecionado() {
		return formaPagamentoSelecionado;
	}

	public void setFormaPagamentoSelecionado(Integer formaPagamentoSelecionado) {
		this.formaPagamentoSelecionado = formaPagamentoSelecionado;
	}
	public Long getCodigoPedido() {
		return codigoPedido;
	}
	public void setCodigoPedido(Long codigoPedido) {
		this.codigoPedido = codigoPedido;
	}

	@Override
	public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) {
		limparMensagem(request);
		return super.validate(mapping, request);
	}
}
